It is well known that technological change is occurring at a rapid pace. Such change can be of benefit in the area of software and software development. Developers use software services (e.g., Simple Object Access Protocol (SOAP), Enterprise JavaBens ™ and local services for distributed processing) to implement applications. However, new services are regularly developed that enables developers to select from a rich execution environment. This choice of services provides flexibility in initial implementation, but inhibits later modifications.
Once a developer has implemented an application according to a particular service, however, it is very difficult to implement application changes without conforming such changes to the constraints of the previously selected service. Therefore, developers typically must implement the changes in accordance with the service regardless of whether a new and improved service exists. If a developer desires to use a different service for the application, a partial rewrite of the application is commonly required.
Therefore, there is a problem in the art that, once a system is implemented, all new or changed processes are constrained by the selected service to ensure interoperability.